Methods for extending a document transformation server to process multiple documents from multiple sites and devices thereof29547.0164

ABSTRACT

A method, computer readable medium and device that extends a document transformation server to process multiple documents from multiple websites includes obtaining with a document transformation server a document to process based on at least a URL of the document to process in an HTTP request URL. An XML source representing the document to process is generated with the document transformation server. One or more XML processors associated with at least a portion of the HTTP request URL from a plurality of stored associations are identified with the document transformation server. The XML source is transformed by the document transformation server with each of the identified one identified XML processors. The generated document is provided in an HTTP response to the

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/807,766, filed Sep. 14, 2010, which is hereby incorporated byreference in its entirety.

FIELD

This technology generally relates to methods and devices fortransforming and rendering documents and, more particularly, to methodsfor extending a document transformation server to process multipledocuments from multiple sites and devices thereof.

BACKGROUND

The introduction of eXtensible Markup Language (XML) and theEXtensibleStylesheet Language (XSL) specifications has provided an easyway to transform documents between various formats. This functionalityhas been included into Web development frameworks enabling them toautomatically transform an XML file into a document with differentformat, such as HTML or XHTML, and integrate the original data with agraphic layout and user interface parts.

This transformation process is based on the following basic scheme. EachURL on a website is associated to a single XML file and to one or moreXSL style sheets. The associated XML file and XSL style sheet(s) includethe transformation rules used to customize the webpage into a desiredformat.

An example of a prior art method for transforming and rendering a singledocument is illustrated in FIG. 2. In step 100, a server receives anHTTP request. In step 102, the server extracts the parts from the PATHand QUERY fields in the HTTP request to identify and obtain the documentto be processed.

In step 104, the server determines whether the extracted parts in thePATH and QUERY fields of the HTTP request match an XML source for thedocument to be processed. If in step 104 the server determines theextracted parts in the PATH and QUERY fields of the HTTP request do nothave an association with an XML source, then the No branch is taken tostep 106. In step 106, the server generates an error page document. Instep 108 the server returns the generated error page document in an HTTPresponse to the HTTP request.

If in step 104 the server determines the extracted parts in the PATH andQUERY fields of the HTTP request do have an association with an XMLsource for the document to be processed, then the Yes branch is taken tostep 110. In step 110, the server obtains the document to be processedfrom the XML source and generates an XML document.

In step 112, the server determines whether the extracted parts in thePATH and QUERY fields of the HTTP request match one of one or morestored XML processors. If in step 112 the server determines theextracted parts in the PATH and QUERY fields of the HTTP request do notmatch one of one or more stored XML processors, then the No branch istaken to step 114. In step 114, the server converts the XML documentinto a desired format. Next, in step 108 the returns the converted XMLdocument in an HTTP response to the HTTP request.

If in step 112 the server determines the extracted parts in the PATH andQUERY fields of the HTTP request do match one or more stored of the XMLprocessors, then the Yes branch is taken to step 116. In step 116, theserver runs the one or more matching XML processors on the previouslygenerated XML document. In step 114, the server converts the processedXML document into a desired format. Next, in step 108 the server returnsthe converted XML document in an HTTP response to the HTTP request.

Referring to FIG. 3, an exemplary prior art fragment of a sitemap.xmapdocument which is a configuration file of Apache Cocoon is illustrated.This fragment has two sets of prior art instructions to processdocuments.

The first set of instructions executed starts with XML element<map:match pattern=″″> and matches the document with an empty componentin the PATH field that is the home page of a site (for examplewww.sample.com). The document is obtained by loading the XML file“welcome.xml” as the document or other file to be processed, thenapplying the XSL transformation described in welcome.xsl using XHTMLformat to return it to the browser because of the <map:serialize>instruction.

The second set of instructions matches an entire set of web site pages:all pages whose PATH field starts with “static-site!” and ends with aname followed by “.xml” extension (for example,www.sample.com/static-site/news.xml). The first instruction loads thecorresponding documents or other files from the xdocs directory (forexample xdocs/news.xml). The second instruction applies an XSLtransformation using one or more identified matching XML processors thattransforms the original xml document into an HTML document adding website user interface (web site navigation links, site logo etc). The lastinstruction returns the document to the browser in HTML format.

Accordingly, as illustrated and described above, the prior art providesmethods for transforming and rendering documents. Unfortunately, thesetransformation rules currently can not be utilized in an effective andefficient manner by a document transformation server in a singleapplication instance to transform multiple documents from multiplewebsites.

SUMMARY

A method for extending a document transformation server to processmultiple documents from multiple websites includes obtaining with adocument transformation server a document to process based on at least aURL of the document to process in an HTTP request URL. An XML sourcerepresenting the document to process is generated with the documenttransformation server. One or more XML processors associated with atleast a portion of the HTTP request URL from a plurality of storedassociations are identified with the document transformation server. TheXML source is transformed by the document transformation server witheach of the identified one identified XML processors. The generateddocument is provided in an HTTP response to the HTTP request URL by thedocument transformation server.

A non-transitory computer readable medium having stored thereoninstructions for extending a document transformation server to processmultiple documents from multiple websites comprising machine executablecode which when executed by at least one processor, causes the processorto perform steps including obtaining a document to process based on atleast a URL of the document to process in an HTTP request URL. An XMLsource representing the obtained document to process is generated andone or more XML processors that are associated with at least a portionof the HTTP request URL from a plurality of stored associations areidentified. The XML source is transformed with each of the identifiedone identified XML processors and the generated document is provided inan HTTP response to the HTTP request URL.

A document transformation apparatus includes one or more processors anda memory coupled to the one or more processors which are configured toexecute programmed instructions stored in the memory obtaining adocument to process based on at least a URL of the document to processin an HTTP request URL. An XML source representing the obtained documentto process is generated and one or more XML processors that areassociated with at least a portion of the HTTP request URL from aplurality of stored associations are identified. The XML source istransformed with each of the identified one identified XML processorsand the generated document is provided in an HTTP response to the HTTPrequest URL.

This technology provides a number of advantages including providing amethod, computer readable medium and an apparatus that extends adocument transformation server to process multiple documents frommultiple sites. With this technology, an exemplary documenttransformation server can efficiently manage the transformation andrendering of documents using a single web application instance.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary environment with an exemplarydocument transformation server configured to process multiple documentsfrom multiple sites;

FIG. 2 is a flow chart of a prior art method for transforming andrendering a document;

FIG. 3 is a prior art fragment of a configuration file;

FIG. 4 is an exemplary flow chart of a method for extending a documenttransformation server to process multiple documents from multiple sites;

FIG. 5 is an exemplary flow chart of a method for obtaining a mappingfile; and

FIG. 6 is an exemplary implementation of a mapping file.

DETAILED DESCRIPTION

An exemplary environment 10 with a document transformation server 12configured to process multiple documents from multiple websites isillustrated in FIG. 1.

The exemplary environment 10 includes the document transformation serveror apparatus 12, client devices 14(1)-14(n), web server devices16(1)-16(n), and communication networks 18(1)-18(2), although othernumbers and types of systems, devices, and/or elements in otherconfigurations and environments with other communication networktopologies can be used. This technology provides a number of advantagesincluding providing a method, computer readable medium and an apparatusthat extends a document transformation server to process multipledocuments from multiple sites.

Referring more specifically to FIG. 1, the document transformationserver 12 includes a central processing unit (CPU) or processor 13, amemory 15, and an interface system 17 which are coupled together by abus 19 or other link, although other numbers and types of components,parts, devices, systems, and elements in other configurations andlocations can be used. Additionally, other types and numbers of proxyservers or other computing devices could be configured to execute theexemplary methods illustrated and described herein. The processor 13 inthe document transformation server 12 executes a program of storedinstructions one or more aspects of the present invention as describedand illustrated by way of the embodiments herein, although the processorcould execute other numbers and types of programmed instructions.

The memory 15 in the document transformation server 12 stores theseprogrammed instructions for one or more aspects of the present inventionas described and illustrated herein, although some or all of theprogrammed instructions could be stored and/or executed elsewhere. Avariety of different types of memory storage devices, such as a randomaccess memory (RAM) or a read only memory (ROM) in the system or afloppy disk, hard disk, CD ROM, DVD ROM, or other computer readablemedium which is read from and/or written to by a magnetic, optical, orother reading and/or writing system that is coupled to the processor 13,can be used for the memory 15 in the document transformation server 12.

The interface system 17 in the document transformation server 12 is usedto operatively couple and communicate between the documenttransformation server 12 and the client devices 14(1)-14(n) and the webserver devices 16(1)-16(n) via the communication networks 18(1) and18(2), although other types and numbers of communication networks withother types and numbers of connections and configurations can be used.By way of example only, the communication networks 18(1) and 18(2) canuse TCP/IP over Ethernet and industry-standard protocols, includingHTTP, HTTPS, WAP, and SOAP, although other types and numbers ofcommunication networks, such as a direct connection, a local areanetwork, a wide area network, modems and phone lines, e-mail, andwireless and hardwire communication technology, each having their owncommunications protocols, can be used.

Each of the client devices 14(1)-14(n) enables a user to request, getand interact with documents and other files from one or more web siteshosted by the web server devices 16(1)-16(n) through the documenttransformation server 12 via one or more communication networks,although one or more of the client devices 14(1)-14(n) could accesscontent and utilize other types and numbers of applications from othersources and could provide a wide variety of other functions for theuser. Although multiple client devices 14(1)-14(n) are shown, othernumbers and types of user computing systems could be used.

Each of client devices 14(1)-14(n) in this example is a computing devicethat includes a central processing unit (CPU) or processor 20, a memory22, user input device 24, a display 26, and an interface system 28, andwhich are coupled together by a bus 30 or other link, although one ormore of client devices 14(1)-14(n) can include other numbers and typesof components, parts, devices, systems, and elements in otherconfigurations. The processor 20 in each of client devices 14(1)-14(n)executes a program of stored instructions for one or more aspects of thepresent invention as described and illustrated herein, although theprocessor could execute other numbers and types of programmedinstructions.

The memory 22 in each of the client devices 14(1)-14(n) stores theseprogrammed instructions for one or more aspects of the present inventionas described and illustrated herein, although some or all of theprogrammed instructions could be stored and/or executed elsewhere. Avariety of different types of memory storage devices, such as a randomaccess memory (RAM) or a read only memory (ROM) in the system or afloppy disk, hard disk, CD ROM, or other computer readable medium whichis read from and/or written to by a magnetic, optical, or other readingand/or writing system that is coupled to processor 20 can be used forthe memory 22 in each of the client devices 14(1)-14(n.

The user input device 24 in each of the client devices 14(1)-14(n) isused to input selections and other data, although the user input devicecould provide other functions and interact with other elements. The userinput device can include keypads, touch screens, and/or vocal inputprocessing systems although other types and numbers of user inputdevices can be used.

The display 26 in each of the client devices 14(1)-14(n) is used to showdata and information to the user, such as a website page by way ofexample only. The display in each of the client devices 14(1)-14(n) is acomputer screen display, although other types and numbers of displayscould be used depending on the particular type of client device.

The interface system 28 in each of the client devices 14(1)-14(n) isused to operatively couple and communicate between the client devices14(1)-14(n) and the document transformation server 12 and web serverdevices 16(1)-16(n) over the communication networks 18(1) and 18(2),although other types and numbers of communication networks with othertypes and numbers of connections and configurations can be used.

The web server devices 16(1)-16(n) provide one or more pages from one ormore web sites for use by one or more of the client devices 14(1)-14(n)via the document transformation server 12, although the web serverdevices 16(1)-16(n) can provide other numbers and types of applicationsand/or content and can have provide other numbers and types offunctions. Although web server devices 16(1)-16(n) are shown for ease ofillustration and discussion, other numbers and types of web serversystems and devices can be used.

Each of the web server devices 16(1)-16(n) include a central processingunit (CPU) or processor, a memory, and an interface system which arecoupled together by a bus or other link, although each of the web serverdevices 16(1)-16(n) could have other numbers and types of components,parts, devices, systems, and elements in other configurations andlocations can be used. The processor in each of the web server devices16(1)-16(n) executes a program of stored instructions one or moreaspects of the present invention as described and illustrated by way ofthe embodiments herein, although the processor could execute othernumbers and types of programmed instructions.

The memory in each of the web server devices 16(1)-16(n) stores theseprogrammed instructions for one or more aspects of the present inventionas described and illustrated by way of the embodiments, although some orall of the programmed instructions could be stored and/or executedelsewhere. A variety of different types of memory storage devices, suchas a random access memory (RAM) or a read only memory (ROM) in thesystem or a floppy disk, hard disk, CD ROM, DVD ROM, or other computerreadable medium which is read from and/or written to by a magnetic,optical, or other reading and/or writing system that is coupled to theprocessor, can be used for the memory in each of the web server devices16(1)-16(n).

The interface system in each of the web server devices 16(1)-16(n) isused to operatively couple and communicate between the web serverdevices 16(1)-16(n) and the document transformation server 12 and theclient devices 14(1)-14(n) via communication networks 18(1) and 18(2),although other types and numbers of communication networks with othertypes and numbers of connections and configurations can be used.

Although embodiments of the document transformation server 12, theclient devices 14(1)-14(n), and the web server devices 16(1)-16(n), aredescribed and illustrated herein, each of the client devices14(1)-14(n), the document transformation server 12, and the web serverdevices 16(1)-16(n), can be implemented on any suitable computer systemor computing device. It is to be understood that the devices and systemsof the embodiments described herein are for exemplary purposes, as manyvariations of the specific hardware and software used to implement theembodiments are possible, as will be appreciated by those skilled in therelevant art(s).

Furthermore, each of the systems of the embodiments may be convenientlyimplemented using one or more general purpose computer systems,microprocessors, digital signal processors, and micro-controllers,programmed according to the teachings of the embodiments, as describedand illustrated herein, and as will be appreciated by those ordinaryskill in the art.

In addition, two or more computing systems or devices can be substitutedfor any one of the systems in any embodiment of the embodiments.Accordingly, principles and advantages of distributed processing, suchas redundancy and replication also can be implemented, as desired, toincrease the robustness and performance of the devices and systems ofthe embodiments. The embodiments may also be implemented on computersystem or systems that extend across any suitable network using anysuitable interface mechanisms and communications technologies, includingby way of example only telecommunications in any suitable form (e.g.,voice and modem), wireless communications media, wireless communicationsnetworks, cellular communications networks, G3 communications networks,Public Switched Telephone Network (PSTNs), Packet Data Networks (PDNs),the Internet, intranets, and combinations thereof.

The embodiments may also be embodied as non-transitory computer readablemedium having instructions stored thereon for one or more aspects of thepresent invention as described and illustrated by way of the embodimentsherein, as described herein, which when executed by a processor, causethe processor to carry out the steps necessary to implement the methodsof the embodiments, as described and illustrated herein.

An exemplary method for extending a document transformation server 12 toprocess multiple documents from multiple sites, such as web serverdevices 16(1)-16(n), in an exemplary environment 10 will now bedescribed with reference to FIGS. 1 and 4-6. Referring more specificallyto FIG. 4, in step 200 the document transformation server 12 receives anHTTP request whose url contains the URI of the document to process, fromone of the client computing devices 14(1)-14(n), although other types ofrequests could be received and from other types of devices. Optionally,if the URI of the document to process is encoded, the documenttransformation server 12 will decode the URI of the document to process,although other manners for processing an encoded URI or other encodedportion of a URI HTTP request could be used. Since manners for encodingand decoding are well known to those of ordinary skill in the art, theywill not be described in detail here. By way of example only, consideran HTTP request from one of the client computing devices 14(1)-14(n)where the URL to be processed is embedded in the PATH field of the HTTPrequest url: http://processor.com/app/www.acme.com/anyproduct.html. Thetransformer server applications is identified by “processor.com/app”;the address www.acme.com/anyproduct.html is the resource to beprocessed.

In step 202, the document transformation server 12 extracts the domainin the URI of the document to process, although other fields of the URIcould be extracted and used.

In step 204, the document transformation server 12 determines whetherthe transformation of the website in the URI of the document to processis allowed. If in step 204, the document transformation server 12determines the transformation of the website in the URI of the documentto process is not allowed, then the No branch is taken to step 206. Instep 206, the document transformation server 12 generates an error pagedocument. In step 208 the document transformation server 12 returns thegenerated error page document in an HTTP response to the one of theclient computing devices 14(1)-14(n) that provided the HTTP request inthis example.

If in step 204, the document transformation server 12 determines thetransformation of the website in the URI of the document to process isallowed, then the Yes branch is taken to step 210. In step 210, thedocument transformation server 12 downloads the original document orother resource linked by the given URL and transforms the downloadeddocument into an XML source, although other manners for processing theobtained document or documents can be used. In step 212, documenttransformation server 12 looks for a mapping or configuration file forthe directory that matches the extracted domain. An exemplary method forlocating a mapping file from manifest.xml is described herein withreference to FIG. 5.

In step 214, the document transformation server 12 determines whetherthe mapping file for the extracted domain exists. If in step 214 thedocument transformation server 12 determines the mapping file does notexist, then the No branch is taken to step 216. In step 216, thedocument transformation server 12 converts the document into the desiredformat. Next, in step 208 the document transformation server 12 returnsthe converted document in an HTTP response to the one of the clientcomputing devices 14(1)-14(n) that provided the HTTP request.

If in step 214 the document transformation server 12 determines themapping file for the extracted domain does exist, then the Yes branch istaken to step 218. In step 218, the document transformation server 12use the mapping file to identify all of the XSL processors linked to thecorresponding URL and applies the identified XSL processors to thedocument to be processed. Optionally the document transformation server12 may apply one or more best matching rules to filter the identifiedone or more XML processors in the matching directory. By way of exampleonly, one best matching rule is to take the XML processor with thelongest matching pattern string, although other types and numbers ofbest matching rules can be used.

In step 216, the document transformation server 12 converts theprocessed document into the desired format. Next, in step 208 thedocument transformation server returns the converted document in an HTTPresponse to the one of the client computing devices 14(1)-14(n) thatprovided the HTTP request.

Referring to FIG. 5, an exemplary method for obtaining a mapping filewith the document transformation server 12 is illustrated. In step 300,the document transformation server 12 receives a URI to match from oneof the client computing devices 14(1)-14(n), although other types ofrequests could be received and from other types of devices. In step 302,the document transformation server 12 extracts from the URI the

AUTHORITY portion corresponding to the associated domain and port, forexample “ssl.example.com:8443”, although other types and numbers offields could be extracted.

In this example, if the port is either 80 or 443 (default values forHTTP and HTTPS respectively) the string representing the authoritycorresponds to the domain portion of the URL. However, if the port doesnot correspond to a standard value, the ‘:’ character is substitutedwith ‘_’ in order to avoid potential problems in the file system (i.e.ssl.example.com_(—)8443). The string representing the authority isfurther stripped by the document transformation server 12 removing the‘www.’ from the extracted string.

In step 304, the document transformation server 12 determines whetherthere is a directory with the same name as the extracted domain andcontaining the mapping file, although other manners for determiningmatches with other portions of the domain can be used. By way of exampleonly, consider the following directories: (1) “www.acme.com”; (2)“_.example.com”; and (3) “ssl.example.com”. The www.acme.com directorywill match all the requests for www.acme.com and acme.com domains. Withthis technology, the “_.example.com” directory will match all therequests for domains ending with “.example.com” that do not have morespecific matching directories. Accordingly, “_.example.com” will match“products.example.com”, but it will not match “ssl.example.com” becausean “ssl.example.com” directory exists. The “_” character in front of“.example.com” is used to make the directory visible when using filesystems that use “.” characters in front of files to hide them to users.

If in step 304 the document transformation server 12 determines there isno directory with the same name as the extracted domain, then the Nobranch is taken to step 306. In step 306, the document transformationserver 12 determines whether the domain contains a valid subdomain. Ifin step 306 the document transformation server 12 determines the domaindoes contain a valid subdomain, then the Yes branch is taken to step308. In step 308, the document transformation server 12 extracts thenext level subdomain name and returns to step 304 as described earlier.

If in step 304 the document transformation server 12 determines there isa directory with the same name as the extracted domain and containingthe mapping file, then the Yes branch is taken to step 310, althoughother manners for determining matches with other portions of the domaincan be used. In another example, the document transformation server 12may also use another optional mapping file that stores known aliases ofdomains. When a known alias of a domain is identified using thisoptional mapping file, the document transformation server 12 can use thesame one or more stored directories for the known and identifiedaliases. As a result, this reduces the number of stored directories whenhandling domains with multiple aliases (i.e. defined with DNS records oftype CNAME).

In step 310, the document transformation server 12 extracts the partsfrom the PATH and QUERY fields in the URI, although the parts can beextracted from other types and numbers of fields in the URI.

In step 312, the document transformation server 12 determines whetherthe extracted parts in the PATH and QUERY fields of the URI match orotherwise have an association with one of one or more XML processors inthe identified mapping file, although other types of associationsbetween other types and numbers of parts can be used. If in step 312 thedocument transformation server 12 determines the extracted parts in thePATH and QUERY fields of the URI match or otherwise have an associationwith one of one or more XML processors, then the Yes branch is taken tostep 314 where the matching XML processors are collected. Next, in step316, the document transformation server 12 returns the collected XMLprocessors to the requesting one of the client computing devices14(1)-14(n).

If in step 312 the document transformation server 12 determines theextracted parts in the PATH and QUERY fields of the URI do not match oneof one or more XML processors, then the No branch is taken to step 316where no matching XML processors are returned to the requesting one ofthe client computing devices 14(1)-14(n).

Referring to FIG. 6, an exemplary implementation of the mapping file“manifest.xml” is illustrated. Each map element identifies an XSL file(inside file element) and a substring to match a URL PATH component(inside the PATH element). The map element with the longest stringmatching the PATH component will be used to setup the XSL transformeridentified by the level attribute.

In these examples, two XSL transformers are defined: level 1transformer; and level 2 transformer. If the request URL has the PATHfield containing “/content/news/july.html”, then the original site webpage is downloaded (for example, www.sample.com/content/news/july.html).Next, the level 1 transformer uses the news.xsl stylesheet document totransform the downloaded page. The level 2 transformer uses content2.xs1stylesheet document to transform the document obtained from the level 1transformer.

If the request URL has the PATH field containing“/content/privacy.html”, then the original site web page is downloaded(for example www.sample.com/content/privacy.html). Next, the level 1transformer uses the content.xsl stylesheet document to transform thedownloaded page. Next, the level 2 transformer uses the content2.xs1stylesheet document to transform the document obtained from the level 1transformer.

Accordingly, as illustrated and described herein this technologyprovides a number of advantages including providing a method, computerreadable medium and an apparatus that extends a document transformationserver to process multiple documents from multiple sites. One of theadvantages of this technology is that a single association or matchbetween a name of a directory and at least a portion of a domain name orother part of a URI can be used for hundreds or thousands of URIs. As aresult, only a few associations with directories or other stored tablescan be enough for the document transformation server to transform thecontent of an entire website.

Having thus described the basic concept of the invention, it will berather apparent to those skilled in the art that the foregoing detaileddisclosure is intended to be presented by way of example only, and isnot limiting. Various alterations, improvements, and modifications willoccur and are intended to those skilled in the art, though not expresslystated herein. These alterations, improvements, and modifications areintended to be suggested hereby, and are within the spirit and scope ofthe invention. Additionally, the recited order of processing elements orsequences, or the use of numbers, letters, or other designationstherefore, is not intended to limit the claimed processes to any orderexcept as may be specified in the claims. Accordingly, the invention islimited only by the following claims and equivalents thereto.

What is claimed is:
 1. A method for extending a document transformationserver to process multiple documents from multiple websites, the methodcomprising: obtaining by a document transformation server a document toprocess based on at least a URL of the document to process in an HTTPrequest URL; identifying by the document transformation server one ormore processors to transform the obtained document based on one or morerules and at least a portion of the HTTP request URL; transforming bythe document transformation server the obtained document with theidentified one or more processors; and providing with the documenttransformation server the transformed document in an HTTP response. 2.The method as set forth in claim 1 wherein the obtaining the document toprocess is further based on one or more of an HTTP header or an HTTPPOST parameter in the HTTP request URL.
 3. The method as set forth inclaim 1 wherein the one or more rules comprise a best matching rule andthe identifying further comprises selecting one of the one or moreprocessors associated with a longest pattern string matching the atleast a portion of the HTTP request URL.
 4. The method as set forth inclaim 1 wherein the obtaining the document to process further comprisesdecoding with the document transformation server the obtained URL of thedocument to process prior to obtaining the document to process.
 5. Themethod as set forth in claim 1, wherein the identifying furthercomprises: identifying a data structure having an identifiercorresponding to at least a portion of a particular domain in the HTTPrequest URL; and retrieving a plurality of associations from the datastructure, the plurality of associations comprising a mapping of one ormore of the processors to one or more parts of one or more fields in theHTTP request URL.
 6. The method as set forth in claim 1 furthercomprising: generating by the document transformation server an XMLsource representing the obtained document; transforming by the documenttransformation server the XML source with the identified one or moreprocessors; and providing with the document transformation server thetransformed XML source in an HTTP response.
 7. A non-transitory computerreadable medium having stored thereon instructions for extending adocument transformation server to process multiple documents frommultiple websites comprising machine executable code which when executedby a processor, causes the processor to perform steps comprising:obtaining a document to process based on at least a URL of the documentto process in an HTTP request URL; identifying one or more processors totransform the obtained document based on one or more rules and at leasta portion of the HTTP request URL; transforming the obtained documentwith the identified one or more processors; and providing thetransformed document in an HTTP response.
 8. The medium as set forth inclaim 7 wherein the obtaining the document to process is further basedon one or more of an HTTP header or an HTTP POST parameter in the HTTPrequest URL.
 9. The medium as set forth in claim 7 wherein the one ormore rules comprise a best matching rule and the identifying furthercomprises selecting one of the one or more processors associated with alongest pattern string matching the at least a portion of the HTTPrequest URL.
 10. The medium as set forth in claim 7 wherein theobtaining the document to process further comprises decoding with thedocument transformation server the obtained URL of the document toprocess prior to obtaining the document to process.
 11. The medium asset forth in claim 7 wherein the identifying further comprises:identifying a data structure having an identifier corresponding to atleast a portion of a particular domain in the HTTP request URL; andretrieving a plurality of associations from the data structure, theplurality of associations comprising a mapping of one or more of theprocessors to one or more parts of one or more fields in the HTTPrequest URL
 12. The medium as set forth in claim 7 wherein theinstructions further comprise machine executable code which whenexecuted by the processor, causes the processor to perform steps furthercomprising: generating an XML source representing the obtained document;transforming the XML source with the identified one or more processors;and providing the transformed XML source in an HTTP response.
 13. Adocument transformation apparatus comprising: a memory; and a processorcoupled to the memory and configured to execute programmed instructionsstored in the memory comprising: obtaining a document to process basedon at least a URL of the document to process in an HTTP request URL;identifying one or more processors to transform the obtained documentbased on one or more rules and at least a portion of the HTTP requestURL; transforming the obtained document with the identified one or moreprocessors; and providing the transformed document in an HTTP response.14. The apparatus as set forth in claim 13 wherein the obtaining thedocument to process is further based on one or more of an HTTP header oran HTTP POST parameter in the HTTP request URL.
 15. The apparatus as setforth in claim 13 wherein the one or more rules comprise a best matchingrule and the identifying further comprises selecting one of the one ormore processors associated with a longest pattern string matching the atleast a portion of the HTTP request URL.
 16. The apparatus as set forthin claim 13 wherein the obtaining the document to process furthercomprises decoding with the document transformation server the obtainedURL of the document to process prior to obtaining the document toprocess.
 17. The apparatus as set forth in claim 13 wherein theidentifying further comprises: identifying a data structure having anidentifier corresponding to at least a portion of a particular domain inthe HTTP request URL; and retrieving a plurality of associations fromthe data structure, the plurality of associations comprising a mappingof one or more of the processors to one or more parts of one or morefields in the HTTP request URL.
 18. The apparatus as set forth in claim13 wherein the processor coupled to the memory is further configured toexecute programmed instructions stored in the memory further comprising:generating an XML source representing the obtained document;transforming the XML source with the identified one or more processors;and providing the transformed XML source in an HTTP response.